{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# <div align=\"center\">Distinction Between Outliers & High Leverage Observations</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import statsmodels.api as sm\n",
    "import statsmodels.formula.api as smf\n",
    "\n",
    "from scipy import stats\n",
    "\n",
    "import warnings\n",
    "\n",
    "warnings.filterwarnings('ignore')\n",
    "    \n",
    "%matplotlib inline\n",
    "\n",
    "plt.style.use('seaborn-white')\n",
    "plt.rcParams['font.sans-serif'] = 'monospace'\n",
    "plt.rcParams['figure.figsize'] = (6, 4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>8.71607</td>\n",
       "      <td>50.0568</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>8.70156</td>\n",
       "      <td>46.5475</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>9.16463</td>\n",
       "      <td>45.7762</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          x        y\n",
       "17  8.71607  50.0568\n",
       "18  8.70156  46.5475\n",
       "19  9.16463  45.7762"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "db = '/home/lidong/Datasets/'\n",
    "\n",
    "influence_df = pd.read_csv(os.path.join(db, 'Statistics/influence.txt'), sep='\\s', usecols=[1, 2])\n",
    "n = influence_df.index.size\n",
    "influence_df[-3:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'ScatterPlot of y vs x')"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "influence_df.plot.scatter('x', 'y', ax=ax)\n",
    "fig.tight_layout(pad=2)\n",
    "ax.set_title(\"ScatterPlot of y vs x\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Outlier Point"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>8.70156</td>\n",
       "      <td>46.5475</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>9.16463</td>\n",
       "      <td>45.7762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>4.00000</td>\n",
       "      <td>40.0000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          x        y\n",
       "18  8.70156  46.5475\n",
       "19  9.16463  45.7762\n",
       "20  4.00000  40.0000"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Add outlier point(4, 40)\n",
    "outlier_point = np.array([4, 40])\n",
    "influence_df.loc[n] = outlier_point\n",
    "influence_df[-3:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这个Outlier point是Influence Point吗?, 需要继续分析, 增加删除该异常值是否对response Y和coefficient, 统计检验由影响."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fitted_result_included_outlier = smf.ols(formula=\"y ~ x\", data=influence_df[0:n+1]).fit()\n",
    "fitted_result_excluded_outlier = smf.ols(formula=\"y ~ x\", data=influence_df[0:n]).fit()\n",
    "\n",
    "intercept, coef_x = fitted_result_included_outlier.params\n",
    "\n",
    "sm.graphics.abline_plot(\n",
    "    model_results=fitted_result_included_outlier,\n",
    "    ax=ax, color='b',\n",
    "    label='$y = %.2f + %.2fx$' % (intercept, coef_x))\n",
    "\n",
    "intercept, coef_x = fitted_result_excluded_outlier.params\n",
    "\n",
    "sm.graphics.abline_plot(\n",
    "    model_results=fitted_result_excluded_outlier,\n",
    "    ax=ax, linestyle='dashed',\n",
    "    label='$y = %.2f + %.2fx$' % (intercept, coef_x))\n",
    "\n",
    "ax.scatter([4], [40], c='r', linewidths=3, marker='o')\n",
    "ax.legend()\n",
    "fig"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                            OLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                      y   R-squared:                       0.910\n",
      "Model:                            OLS   Adj. R-squared:                  0.905\n",
      "Method:                 Least Squares   F-statistic:                     192.2\n",
      "Date:                Tue, 25 Dec 2018   Prob (F-statistic):           2.18e-11\n",
      "Time:                        14:40:53   Log-Likelihood:                -61.294\n",
      "No. Observations:                  21   AIC:                             126.6\n",
      "Df Residuals:                      19   BIC:                             128.7\n",
      "Df Model:                           1                                         \n",
      "Covariance Type:            nonrobust                                         \n",
      "==============================================================================\n",
      "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "Intercept      2.9576      2.009      1.472      0.157      -1.247       7.163\n",
      "x              5.0373      0.363     13.865      0.000       4.277       5.798\n",
      "==============================================================================\n",
      "Omnibus:                       30.102   Durbin-Watson:                   1.564\n",
      "Prob(Omnibus):                  0.000   Jarque-Bera (JB):               61.821\n",
      "Skew:                           2.424   Prob(JB):                     3.76e-14\n",
      "Kurtosis:                       9.866   Cond. No.                         11.1\n",
      "==============================================================================\n",
      "\n",
      "Warnings:\n",
      "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
      "\n",
      "\n",
      "\n",
      "                            OLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                      y   R-squared:                       0.973\n",
      "Model:                            OLS   Adj. R-squared:                  0.972\n",
      "Method:                 Least Squares   F-statistic:                     652.8\n",
      "Date:                Tue, 25 Dec 2018   Prob (F-statistic):           1.35e-15\n",
      "Time:                        14:40:53   Log-Likelihood:                -46.374\n",
      "No. Observations:                  20   AIC:                             96.75\n",
      "Df Residuals:                      18   BIC:                             98.74\n",
      "Df Model:                           1                                         \n",
      "Covariance Type:            nonrobust                                         \n",
      "==============================================================================\n",
      "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "Intercept      1.7322      1.121      1.546      0.140      -0.622       4.086\n",
      "x              5.1169      0.200     25.551      0.000       4.696       5.538\n",
      "==============================================================================\n",
      "Omnibus:                        0.394   Durbin-Watson:                   2.066\n",
      "Prob(Omnibus):                  0.821   Jarque-Bera (JB):                0.287\n",
      "Skew:                           0.259   Prob(JB):                        0.866\n",
      "Kurtosis:                       2.723   Cond. No.                         11.1\n",
      "==============================================================================\n",
      "\n",
      "Warnings:\n",
      "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n"
     ]
    }
   ],
   "source": [
    "print(fitted_result_included_outlier.summary())\n",
    "print(\"\\n\\n\")\n",
    "print(fitted_result_excluded_outlier.summary())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从回归线和统计检验看出, 该Outlier点不是强影响点Influence.\n",
    "\n",
    "查看: R-squared, coef[x], std err[x], P"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Leverage"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "leverages.sum() = 2.0 (自由度)\n"
     ]
    },
    {
     "data": {
      "image/png": "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nj07QdugoCBGjBhBZKReNGX8+PHPTTaLFy9m27ZtxMTE0KBBA3x8fJg1axb58+ePu/GIH0NS7YOCgujVqxfly5fn3LlzfP/993z//fecOXOG6OhoGjVqhI+PDwB79+5l+vTpcYkwMDCQ7777joiICKZMmcKlS5cwGo0MGjSI999/n0uXLjF69GgMBgNms5l58+YlWnClYsWKeHt7c/DgQXLlysXs2bPJkSMHFy5cYOLEiURGRlK4cGGmTZtG1qxZGTVqFHXr1qVx48a89957tGrVij///BOj0cicOXPIlCkTq1evxtbWlk2bNjF+/HiqVKnyCn87UuDJXU5a+ePp6enh6empBQYGakKI9GfLqZta6QnbtQqTd2h71Luav7+mvf22ptnaatrkyZpmNFo7QusIDAzUmjZtGvf5yJEjWqVKlbRbt25pJpNJa9eunXb8+HFN0zStS5cu2unTp7UzZ85oPXr0iDvm0aNHic47d+5cbfHixZqmadq7776rRUdHP7NtRESEFhUVpWmapv37779a69atk4y1QoUKmqZp2v79+7Vx48ZpZrNZM5lMWt++fbVjx45p586d0zp37hzX/oMPPtBu3rz5zPaBgYGaoihaQEBA3DEhISGapmma0WjUunTpol24cEGLiorSateurV2/fl3TNE375JNPtL59+2qapmlfffWVtnHjxrifrWHDhlp4eLjm6+ur+fn5aZqmadHR0VpkZGSin8fT0zOuzbx587TJkydrmqZpzZo1044ePappmqbNmTNHmzp1qqZpmjZy5Eht27ZtmqZpWr169bRly5ZpmqZpy5cv18aMGZPo9/46BAYGap6enpqnp6eHlkRutHjPWlEUO+Av4Iaqqs0URckBrAE8gKtAO1VVQywdhxAidZwMDOHtvFn4tmMlfvvFmc8+g9y5YfduvVct/lOuXDny5csHQIkSJbhx40aCHlqhQoUIDAxkypQp1KlTh5o1ayZ7PkVRGD58OPXr1+f9JKqdGI1GfH19+fvvv7G1teXq1avJnu/gwYMcPHiQVq1aARAREcHVq1fx9vYmODiYO3fuEBISgpubG/nz52fZsmVJts+fPz8FChSgQoUKcefetm0ba9euxWg0cu/ePS5fvoymaRQqVIhChQoB0LRpU9auXQvAgQMH2L17Nz/99BMA0dHR3Lp1iwoVKrBo0SJu3779zGVMbW1tadKkCQAtW7Zk0KBBPH78mMePH1O1qr5meevWrZ85/N2wYUMAypQpw86dO5P9nVlKagyDDwEuAG6xn0cBu1RVnaEoyqjYzyNTIQ4hhIXceBhJSHgMZQpmZUTjEgQHQ78etmzaBM2awc8/gxRYSszR0THuezs7O0wmU4L9WbNmxc/PjwMHDrB69Wq2bdvG9OnTn3m+77//nuPHj/Pnn3+yaNEiNm/ejL39f//ML1myhFy5cuHn54fZbKZcuXLJxqdpGn379qVDhw6J9jVu3JgdO3Zw//79uET4rPZBQUG4uLjEfQ4MDOSnn37i119/jRt2jo6OTjYWgLlz51K0aNEE24oVK0b58uXZs2cPffv2ZfLkyVSvXj3Z89i84Go7Dg4OgJ70n/5vlFos+oRfURR3oCmwON7mlsDS2O+XAq0sGYMQwrL2qHdpOnc/n6w5idmsceSQLV6Vbdm2DebMgU2bJFEDZM6cmfDw8Bc65sGDB2iaRqNGjRg6dCjnz59/Zluz2cytW7eoVq0aw4cP5/Hjx0RERCRo8/jxY3Lnzo2trS1+fn7PTTw1a9bkt99+i4v7zp07BAcHA9CkSRN+//13duzYQePGjZ/bPr7w8HCcnZ1xdXXl/v377Nu3D4AiRYoQGBhIUFAQAL///nuCWJYvX46maQBxv4vAwEAKFSpEt27dqF+/PqqqJvm72bFjBwCbN2+mcuXKuLq64ubmxl9//QXo1cG8vLyS/X3E9zL/PV+FpXvWc4ARgGu8bXlVVb0V+/1tIK+FYxBCWIDJrDHnfxf59s9/UPK68m3HSkybZsPEiVCkCBw+rL9DLXTZs2enUqVKNGvWjFq1alG3bt3nHnP37l1Gjx6N2WwGYNiwYc9sazKZ+OyzzwgLC0PTNLp164abm1uCNp06dWLw4MFs3LiRWrVqJejtJqVmzZpcvnw5rqfs4uLCzJkzyZkzJ2+//Tbh4eHkyZOHPHnyJNv+6ZnfJUqUoFSpUnzwwQfky5cvbpKbk5MTEydOpHfv3ri4uFCmTJm4YwYMGMC0adNo0aIFZrMZd3d3vvvuO7Zt24afnx/29vbkypUrydfhXFxcOH36NAsXLiRHjhzMmTMHgC+++CJuglmhQoWSHbV4Wr169fDx8WHXrl2pMsHM5sldyuumKEozoImqqgMURakLDI99Zv1QVdVs8dqFqKqaPd5nD+DfXbt24e7ubpHYhBCv5nGUgY+Xn+DgP8F4V3anf9Uy9O5px59/6kuHLlwIT+UJIVIkPDyczJkzo2kakydPxsPDI9EM+BdVsWJFAgLSdv3soKAg6tevD1BEVdWrT++3ZM/6XaCFoihNACfATVGU5cAdRVHyq6p6S1GU/MBdC8YghLCAzI72ZHa058u25XC9X4hqXhAeDj/9BD16SAEO8fLWrVvHhg0bMBgMlCxZUpYojWWxnnV8T/WsZwLB8SaY5VBVdUS8th5Iz1qINEfTNH4+eJUmZfOTL6sT0dEa48bZMGsWlC0La9ZAyZLWjlKI9MmaPetnmQGsVRSlF3ANaGeFGIQQL+BRpIHh606x8/wdHkcZaV70bTp2tOHYMejfH776CpydrR2lEBlXqiRrVVX3AHtivw8G6qfGdYUQr+7sjUf0X3GCWw+jmNi8FC5BHlRsqw91//ortG1r7QiFyPjS7uKsQgir23fxHm0WHsJo0ljWvTqHlxahQwcbSpWCkyclUQuRWmRtcCHEM5UvlI02FQvSwqMEfds6cu4cjBoFvr4Qu06EECIVSM9aCJHAP3fDGLo6gCiDCTcnB4o9KEf9mo7cuwc7dsD06ZKohUht0rMWQsTZdOomo347jbODHWevhjNznBtr10KDBrBsGcQuYy2ESGWSrIUQRBtNTN1ygV+OXKPKW9npXaoS7Ro5cf263pMeMQLScPlhITI8SdZCCEavP8N6/xv0qVUU+/MKzd+3pWBB2L8fnlMTQQiRCiRZC/EGM5s1bG1tGFivONXc8/HzlHxs3w5t2sDixZA9+/PPIYSwPEnWQryBjCYzX++8yM2HkcxuX4FrZ7IwtEsWHjyABQvg449lyVAh0hJ5CiXEG+ZuaBSdFx9lwZ7LZLK3Y9x4jfffh6xZiVuRTBK1EGmL9KyFeIMcvhzM4FUBhEUbGFu/PMt83TlwAHr2hHnzIHNma0cohEiKJGsh3hARMUYGrfQnq7MDvYpWZWR7NwwGWL4cOne2dnRCiOTIMLgQGVxolAGzWcPF0Z5Fnb0ocb0mAzq7UaQI+PtLohYiPZCetRAZ2KnAhwxY4U+36m9RL38x+nXIRkAADB0KM2ZApkzWjlAIkRKSrIXIgDRNY/mRa/huOU8eVyce/J2TSk315LxpEzRvbu0IhRAvQpK1EBlMeLSRUevPsPnUTWoVz435YAXGLHGkVi1YuRLc3a0doRDiRUmyFiKDuXArlB1nb9OlnMLaycX455INEyfCuHFgL//HC5Euyf+6QmQQF26FUjK/G5XfysFHeeoy6SNncuaE3buhbl1rRyeEeBUyG1yIdC7KYGL0+jM0mbufXacf0KYNjB7qTP36cPKkJGohMgLpWQuRRgSHRRMUEol7dmdyZknZNO3rwRH0X3GCczdDaV68GD2bZ+P2Lfj6axgyJHGlrJe5hhDC+p6brBVFGQwsV1U1JBXiEeKN5HfyBiN/O42DrS0Gs5kv25ajRYWCyR6z8/wdhq09iQ3Q0LkKCz/Oi4cHHDoEVaq8nmsIIdKGlAyD5wWOK4qyVlGUxoqiyKrBQrxGwWHRjPztNFEGM4+jjUQZzIz47TTBYdHJHnfrUSQF3TL/v707j4uq3v84/gJkUTEFxBXF/WumKN5citJcKtPS0i9tQoAAACAASURBVF9qmZqWZXmra4tt3lvXStPrbb9pammmWZalZVm3bFXTckUNv2a54b6ggQLCzPz+GPSKgiwyzDC+n48HD2fOnDPnMwfkzfec7/l+ifj5SqY+XZ2bb3YPcpJXUBd3HyLiGwoMa2vtaKAx8CZwO/CbMWasMaahh2sTuSAkp6QTfMb56uDAQJJT0s9ad+/RDJZuOQhA9JFYVk+4nF++q8Cbb7pvy7roovPfh4j4nkJ1MLPWuoC9OV/ZQATwoTFmggdrE7kgxESUJ8vpzLUsy+kkJqJ8rmVLtxykxys/MvL9tTz8qIPu3QOoHh3IypUwdOi5Z8oq7D5ExDcVGNbGmAeMMauACcBSoIW19h7gL0AfD9cn4veiwkOZ0CeOsOBAKoWWIyw4kAl94k51AHM6Xby6+Ddue3MF4cEhOBe3498Tghg+3D2lZbNm578PEfFthekNHgn0ttZuP32htdZpjLneM2WJXFh6tqpNQqOqZ/XUzsx2cNfMVXy/+QDxkbX4ZnwLAhzlmDsXbr65ZPYhIr6vwLC21j51jteSSrYckQtXVHjoWQEaWi6I2pUr0Ox4c+aPr0u7dgHMmQP165fcPkTE9+k+axEf43K5eHvZNto1iMKVchGfPt2cDRvg0UfhmWcgONjbFYpIaVNYi/iQ1IwsHpu3ns/W76FtlXosHHMJ4eHwxRdw7bXerk5EvEVhLeIjNu39k3tmrWbHoePUTWnKB+Mb0KULvPMO1Kzp7epExJsU1iI+YO3OI/Sf8hPlg4JxfdOOZauieO4596nvoCBvVyci3qawFvEBF9e4iIvLxbLoxYZUuyiU77+HhARvVyUivkKzbol4ydaDx7hjxi/8tv0EvW8MZP7TzbiuUyhr15ZcUB9Ky2TdziMaVlSkjFPLWsTD8prp6osNe3jkg0SczgA6vXiMA5tCeO01uPfec49EVhSauEPEfyisRTzozMAcd1MLNuz+kzeXbKVqQBXWvd6aBjXKs3AFtGpVcvs9feKODNzDjI6al0hCo6q6z1qkDFJYi3hIXoH58IfrcDghfE89Vs26mMEDA3ntNQgPL9l9n5y44+R+4X8TdyisRcoej4W1MSYM+AEIBUKABdbax4wxkcD7QD1gG9BXc2WLP8orMLO3VeP4ptoc3FyLmTNg4EDP7FsTd4j4F092MMsEOltrWwJxQCdjzJXAY8Bia21jYHHOcxG/ExNRnhMOBwAuFxxefDE75rShprMGq1d7LqhBE3eI+BuPtaxzptVMy3kaDAQBKUAv4Kqc5W8D3wGPeqoOEW+qF1URuy+NjN+rkbY2lutvSePD6eGElkJmauIOEf/h0WvWxpggYBXQCJhsrd1gjKlurd2Ts8peoLonaxDxhpXbDvPXd9dwMPUEqd+0wPFbbWbOcnJbvxK+OF0ATdwh4h88ep+1tdZhrW0FxABXGmM6nfG6C3B5sgaR0uZwunjkg0SOHg5kx1uX0yy0LusTg7itn2bgEJHiKZVBUay1R4DPgEuBfcaYmgA5/+4vjRpEPO3PjCwyshxsWB/ArvcvZfNrV/DY3ZX59luoU8fb1YlIWebJ3uDRQJa19ogxpjxwNTAG+AQYDDyf8+8CT9UgUlo27j7KvbNWE3kimkXPNicyMpyvF0GnTgVvKyJSEE9es64JvG2MCcTdgp9lrf3KGLMamGuMuQPYDvT1YA0iHuVyuXj/l538Y8FGXBkhrHi/Fp07w4wZUK2at6sTEX/hyd7giUB8HssPAV08tV+R0pJ+wsHo+RuYtzoZ156q7P24FWOfCmXkSAjUqPsiUoI0gplIMe06ks6nq/dydGljquxuzI9fB9C2rberEhF/pLAWKaJV21OoFVKFewaF8/vSTvzfDSFMWQiVK3u7MhHxVwprkUI6ke1k7OdJzFi2jcxvW3N0fU3eeCWEO+4ouZmyRETyorAWKYTklOPcO3sNiclH+POX+tQ8Xp2vf4FLLvF2ZSJyIVBYixTg+80HuG/2GlKPuTjwaWtuu6omL34KFSp4uzIRuVAorEUK8MOPTg7vKs+x/7bmrX9VpF8/b1ckIhcahbVIHvanZrDUpvDfN2syeXJ1Lm1Tjfe/C6BBA29XJiIXIoW1yBlW/HGI4e+sIeVPBztnRPHIIyE8+2wAISHerkxELlQKa5EcTqeLN374gwlfWLJSKpD1XVs++ziEbt3y3+ZQWqamoBQRj1NYi18rbJi6XC6GzVjF4s37OLapJs2PtWD2t8HUqpX/ey9Yu4tH5yUSHBhIltPJhD5x9GxV2wOfQkQudApr8VtFCdNVqwL49sMIUg5E8Uivejz+eABBQfm/96G0TB6dl0hGlpMMnACMmpdIQqOqamGLSIlTWItfKkyYulwuZq/Ywcrvy/P636tRvXpDPpsDV1xR8Psnp6QTHBh46r0BggMDSU5JV1iLSIlTWItfKihMj2Vm8/B761mUtJu0jbXo3r0ab70FkZGFe/+YiPJkOZ25lmU5ncRElC/JjyEiArinrhTxO+cK0y37U7l6wlI+37ib1KVN+MfVrfj448IHNUBUeCgT+sQRFhxIpdByhAUHMqFPnFrVIuIRalmLXzoZpqPOuGadciyLbi8uJfNYEKGr2/H1a1WJP2si18Lp2ao2CY2qqje4iHicwlr81plhmnE0lFv7uThwoiHdmtRh2hdhVKp0fvuICg9VSIuIxymsxa9FhYdy/ISDW15dw5qpLUjfX5HXX2/MoEHerkxEpPAU1uLXvkjcx32z15KZCdXqp/PRoooY4+2qRESKRmEtfinb4eTJ9zfzfuLvZO67iOsu+guvf1aBsDBvVyYiUnQKa/FL9722lUV7fufEr3V55fZm3Nz7HCOciIj4OIW1+JWUow4efjCI6TPrEX9dRT5+rQZ163q7KhGR86P7rMUvOJ0u/j5nC62fWMKM2Vk88WgQKz5SUIuIf1DLWsq8w2knuPnfa/k9/QCOg7X4ZEEAPa71dlUiIiVHYS1l2mer9vPA7PVkBWVSY/clfPJKLNWrB3i7LBGREqWwljJr/Nv7eOnrLQSFB5C9qxaPPx2soBYRv6Rr1lLm/JmezWP/TOexIdEcWtwMx/Fgwprt4rGPEzmUlunt8kRESpxa1lKmLNuYyu1TV3EkuSIXXVyHylevIzAsG9AUlSLivxTWUmY8804y09atx+kI5rZ2dfms6Woys/83s5amqBQRf6WwFp+XdtxBrzEb+Z2dBB2J5J274unQNoyr1p49q5Za1SLijxTW4tO2b4d+g7NJbnaARuUa8slLTbgo3N3VQlNUisiFQmEtPmv8jIM8/2AkjuxQXhnWgdsHBJ+1jqaoFJELgcJafE7qMSc9/76JrSFbqdWxGZ9MrE/DhmcHtYjIhUJhLT5lyaoMBr+xGkdkCg2dsSyYXZfwCt6uSkTEuxTW4hNcLvjnpEO8tWk1AZUc3NE0nn/cXsvbZYmI+ASPhbUxpg4wE6gOuIAp1tqXjTGRwPtAPWAb0Ndam+KpOsRzDqVllkjnrtRUuPdemPtVOWJvDmP67a1IaFGpBCsVESnbPDmCWTbwkLW2GdAeGGGMaQY8Biy21jYGFuc8lzJmwdpdJIz/htumrSBh/Dd8snZXsd7nu59O0LLPdt59F0aPqMyvL16hoBYROYPHWtbW2j3AnpzHqcaYJKA20Au4Kme1t4HvgEc9VYeUvENpmTw6L5GMLCcZuAclGTUvkYRGVQvdwna54PF/pzB762oCW57g/Qej+b9uFQCN7S0icqZSuWZtjKkHxAMrgOo5QQ6wF/dpcilDklPSCQ4MPBXUULShPg8edNHz4W3sik6ifGgYbw25nCuaqReZiEh+PD6RhzEmHJgH/M1a++fpr1lrXbivZ0sZEhNRniynM9eywg71+cMP0PqeRHbX+JVGFarxy7NXckWzyp4qVUTEL3g0rI0xwbiDera19qOcxfuMMTVzXq8J7PdkDVLyosJDmdAnjrDgQCqFliMsOLDAoT4dDhgzBjp1guCD0QyKa8rXT/+FyhV0/7SISEE82Rs8AHgTSLLWvnDaS58Ag4Hnc/5d4KkaxHOKMtTn7t3Q84Gd2M0ubrmlLpMm1aKS+pCJiBSaJ69ZJwADgfXGmLU5y57AHdJzjTF3ANuBvh6sQTyoMEN9zv/UwYjpGwhukkz7uGhmPlmHwEB1IhMRKQpP9gZfQv5de7t4ar/iG06cgPueSOPTw6sJaZLKrS0b8Uy/JgpqEZFi0AhmUuJ+/x36DszkQLulVIwO4D8D2nBNi2reLktEpMxSWEuJeu89F3fdFUBQUCh3DGrKyP7VqF2l4F7iIiKSP4W1lIjjx+Gukel8nbaGxpc35aM3IomNjfV2WSIifsHj91mL/9uwAeK77+f70B8Jj/mTO0elEB6V6e2yRET8hsJais3lgslvuLjqPktGu1+oWjmYwGAnr3+/5bzGCxcRkdwU1lIsR45Av37w8Ku7CG+3hWtMTY670jmR7SI1M5uMLCej5iVyKE0tbBGR86Vr1lJkK1ZAvwHZJG8rx7PP1qZtrxCiwkNYPu0AmdnZp9YrynjhIiKSP4W1FJrTCRMnuhj30VYq9/iD+b0SuL5zeaAah9Iyiz1euIiInJtOg0uh7N8P3W7IYuLyVVS+KokuLSPocPn//tYrznjhIiJSOGpZS4EWL4aB9x8l8MrVhFdJ58kezRh6RT0CAnKPRlaU8cJFRKTwFNaSr+xsePppGDsW6t+ylYhaTt4Y3J6/xEbmu01hxgsXEZGiUVhLnnbsgP63ZfPz2iyGDCnP2H9dQrkQp4JYRMQLdM1azjJ/PrTumMYOs5S2D65k6lQX1SODFdQiIl6ilrWckpEBjzwCby3eTXSfRCqHBzF+QCvNlCUi4mUKawHAWuh3i4MdUUlE99xO6zoR/Oe2eGpW1q1XIiLeprAWZs6Ee++FsIpw8U0pdG9dn1HdmhIcpKskIiK+QGF9AUtLc4f0Bz8eoE27KsyZGUxUtcsJCw7ydmkiInIahfUFas0a6NvfyaGam6ne73e6d2hI7dpNAQW1iIiv0XnOC4zLBa++Cpd3ziDzshVc1P53+repw9+ubuzt0kREJB9qWZeiQ2mZXh3d6/BhGDoUFv18hDpDVxJUPovnbmrJ//0lptRrERGRwlNYl5IFa3fx6LxEggMDyXI6mdAnjp6tapfa/pcsgVtvhb17YfS4UBIrVODZm5rTtMZFpVaDiIgUj8K6FBxKy+TReYlkZDnJwD0z1ah5iSQ0qurxFrbDAePGwdNjs6jbeRtL5jWibZvyuFyXnTW2t4iI+CaFdSlITkknODDwVFBD6cz1vGcP3HYbLPn1CA3vXY0jJIOwmtFAFQW1iEgZog5mpSAmonypz/X8xRfQsqWLtWnbibn9J6KqwgfDLyMupsqpdQ6lZbJu5xEOpWV6rA4RETl/CutSUJpzPZ84AaNGwXXXQZVOSVTqtIErm0Tx2X1XEF834tR6C9buImH8N9w2bQUJ47/hk7W7SrwWEREpGToNXkpKY67nP/6AW26Bn3+Ge+6BWx+owbrdIdzTsWGu8b29eQ1dRESKTmFdijw51/PcuTBsGIQ0SWbYy+m8fn9jIJIrzNlzT3vrGrqIiBSPToOXccePw113Qb9bHdTutZ6KXdZxNPQgWQ5nvtt44xq6iIgUn8K6DNu4Edq2helzj9Pq4WUcr7WD4R0bMvvOduechKM0r6GLiMj502nwMsjlgmnT4IEHoFIVBxffvwxHoINpfS+la7PqQMGjpZXGNXQRESkZCusy5uhRuPtueP99F127BvDOO0GsOXAJzWtXpk5kBaDwo6V58hq6iIiUHIV1GfLzz9C/PyQfyqD9E2v46//FUqNGLa6rUfPUOurpLSLif3TNugxwOuHf/4aEBHBUPUjTB37kSOBRAvL47p3s6X26kz29RUSkbFLL2scdOACDB8OiRS7a37GFfdGbqVYlnEkDWtO4eqWz1ldPbxER/6OWtQ/79lto2RK++QZG/fsQe6pu5oaWtVgwIiHPoAb19BYR8Ucea1kbY94Crgf2W2ub5yyLBN4H6gHbgL7W2hRP1VBWZWfDmDHw7LPQ+JIsFi0KpmXLqvT+oz1t60cWOAmHenqLiPgXT7asZwDdzlj2GLDYWtsYWJzzXE6zcyd07gzPPOOiy/CtlLvpG4KqHgWgXYOoQs+WFRUeSss6VRTUIiJ+wGNhba39ATh8xuJewNs5j98GbvTU/suiTz6BVq1g7YYsejy3ht8u+pX2DSKpE1HB26WJiIgXlXYHs+rW2j05j/cC1Ut5/z4pM9M9U9Yrr0Bchz8Jv3Y1SWnHebRbU+7u0CDXJBwiInLh8VpvcGutyxjj8tb+fcVvv0G/frBmjXtEsupX7+ajtdm8e2c72jWI8nZ5IiLiA0o7rPcZY2paa/cYY2oC+0t5/z5l1iz3VJYh5R1MmZPOsP7hZDuaMKxjfarqWrOIiOQo7Vu3PgEG5zweDCwo5f37hLQ0uP12GDgQml92jPhRy3hr6woyshyUCwpUUIuISC6evHVrDnAVUNUYkww8BTwPzDXG3AFsB/p6av++au1a95ChmzfD4Cf3sDIokfTjAbzYtxVhwUHeLk9ERHyQx8LaWntLPi918dQ+fZnLBa+/Dg89BJFRTob9ZxNfbt9Ky5pV+M+t8cSox7eIiORDI5iVgsOHoXdv+OtfoUsXWLMmgIzQNG6/vB4f3H2ZglpERM5JY4N72NKlcOutsGcPPDDuII/cXZHqEeWZNvhSgoP0t5KIiBRMaeEhDgeMHQsdO0JQORd/m7qZBUdX8NLXmwEU1CIiUmhKDA/YuxeuvRaefBJu7JdJ+1E/MzfpN25qVZt/9rrE2+VJGfPqq69ijDn19dhjGqVXyhb9DJ8/nQYvYV9+CYMGQWoqjP1PKguO/MzhnScY17sF/dvUKfTY3iInDR06lP79+596HhYW5sVqRIpOP8PnT2FdQrKyYPRomDABmjd3T29Zp0EYm96txCPXGprXruztEqWMmjRpEhs2bGDGjBneLsVnTZw4UcfIR+l7UzJ0GrwEbN0KV17pDuqhd2fR97kkGjR2UCksmLeHtlVQy3lJSkri4osv9vh+Zs+eTefOnWnRogW9e/dm5cqV571NWloazz33HJ06dSIuLo7+/fuTmJiYa50zT5EaY0hISChS7aV1jIqiuMfzhhtuoHXr1rRu3Zp+/frx3XffnXq9MMcqOzubF1544dS+O3fuzIsvvkh2dnaJf75z1XqSL35vyiKF9Xn68EOIj4ekJHhxxlG2NFzCjOVbWZy0j3U7j3AoLdPbJUoZt2nTJowxHt3H559/ztixYxk+fDjz588nPj6eYcOGsXv37vPaZvTo0SxZsoTnn3+eTz/9lISEBIYMGcK+fftyvVf9+vVZsmTJqa9PP/20SPWXxjEqiuIcT4Dq1avz8MMP8/HHHzNv3jzat2/PiBEjSEpKOrVOQcdq8uTJvPfee4wePZpFixbx5JNPMmfOHN54440897lv375iBXlhagXf+96UVQrrYkpPd4/rffPN0MS4eO69Hbz+2zIyshyM6NSQhz5Yx23TVpAw/hs+WbvL2+VKGXXgwAEOHjxISEgIw4YNo1WrVnTt2pXly5eX6H6mT5/OTTfdRN++fWnYsCF///vfiY6OZs6cOcXeJiMjg//+97889NBDtGvXjtjYWO677z5iY2N59913c71XuXLliI6OPvUVGRlZ6NpL6xgVRXGOJ0DXrl3p2LEjsbGx1K9fn5EjR1KxYkXWrVt3ap2CjtX69evp1KkTnTt3JiYmhi5dutCpU6ezzmic9MEHH9CxY0fGjRvHpk2bCv0ZC1OrL35vyiqFdTH8+iu0bQuTJ7untrzlmS1M/H49betFMuuOdkz54Q8yspykZmaTkeVk1LxEtbClWE62UmbPns3tt9/OggULaNy4Mc8///xZ606ePJn4+PhzfuV1KvbEiRNs3LjxrNOpCQkJrFmzJs+6CrNNdnY2DoeD0NDcY92HhoayevXqXMt27tzJFVdcQefOnRk5ciQ7d+4s4Mj8T1GOUVEV55gW53jmxeFw8Nlnn5GRkUGbNm1OLS/oWHXo0IEVK1bw+++/A7BlyxaWL19Ohw4d8tzPsGHDePLJJ9m+fTt9+vShZ8+eTJ8+nYMHD553rZ783lxo1MGsCFwumD7dPRJZeDgsWgTdusEfB2oSFAQjOjViw66jBAcGkoHz1HbBgYEkp6QTpQk6pIg2bdpEpUqVeOmll4iOjgbg2muv5YUXXjhr3f79+3Pddded8/2qVz97CvmUlBQcDgdVq1bNtTwqKoply5bl+T6F2SY8PJz4+HgmTZpEkyZNqFq1KgsXLmTt2rXUrVv31DZxcXGMGzeOBg0acPjwYSZNmkT//v1ZuHAhERER5/w8ULRjVFTFOabFOZ6ns9bSv39/MjMzCQ0N5aWXXqJhw4ZA4Y7VgAED2LdvH927d6dcuXJkZ2czfPhwBgwYkOf+QkND6d69O927d+fw4cMsXLiQBQsWMHHiRBISErjxxhvp2rUrISEhRaoVPPu9udAorAvpzz9h+HCYMwc6d4YhT+3huwMHuNbVggbR4dzfpTEAMRHlyXI6c22b5XQSE1HeG2VLGZeUlESnTp1O/aID2LFjB7GxsWetW6VKFapUqVKa5RVowoQJPPHEE3To0IGgoCCaNWtGjx492Lhx46l1OnbsmGubVq1a0aVLF+bPn8+QIUMK3EdhjtHy5cvZsGEDd955Z57vkd/r3jim9evXZ/78+aSmpvLll1/y0EMP8fbbbxMXF1eoYzVz5kzmzZvHCy+8QKNGjUhKSmLs2LHExMRw8803n3PfkZGRDBo0iEGDBvHTTz8xatQovv/+e2bOnEm7du2KVCsU7edXzk1hXQgrV7pnytq2Df75jBNHiyRGf76N+LpVOHbCQXjo/w5jVHgoE/rEMWpeIsGBgWQ5nUzoE6dWtRRLUlISAwcOzLXs119/pWnTpmetO3ny5Hw7EZ00depULr300lzLIiIiCAoKOuu056FDh3L9ki3ONnXr1mXWrFkcP36ctLQ0qlWrxt/+9jfq1KmTb40VKlSgUaNGbNu27Zyf5aTCHKP27dvTvn37fN8jv9eLc0yLczxPFxIScirMmjdvzvr163n33XdPBeDp8jpWkydP5u6776ZHjx4AGGPYvXs3U6ZMKTCsjx07xldffcWCBQtYsWIF8fHx3H///XnuuzC1FuXnV85NYX0OLhe89BI8+ijUqAEfLkpnxubVrP3pCEMT6vPYdU0JKXf2Zf+erWqT0KgqySnpxESUV1BLsaSnp7N9+3aaNWuWa3lSUhLXXHPNWesX9zR4SEgIl1xyCcuWLcu1/bJly/LcT3G2qVChAhUqVODo0aMsWbKERx55JN8aMzMz2bp1a54tuTMV9hgNHz6ckSNH5tsrOb/Xi3NMi3M8z8XpdOJwOPJ8La9j5XQ6CQrKPd1uUFAQzjPO+J3kcDhYunQpCxYsYPHixURHR9OrVy/GjBlzzj+qCqq1qD+/cm4K63wcOABDhsBnn8GNN8KUqS76zVjB/tRMJg1ozXUtap5z+6jwUIW0nBdrLUCuAElJSWHv3r153rd6PqdshwwZwqhRo4iLi6N169bMmTOH/fv3nxp1atasWcyaNYsvvvii0NsA/PjjjzidTho0aMCOHTuYMGECDRo0oHfv3qfWGT9+PJ06daJmzZocPnyY119/nePHj3PTTTcVWHdhj9HWrVtp0KBBvu+T3+vFPaaFOTZ5HdOJEydy1VVXUaNGDY4dO8bChQv5+eefmTp1KlC4Y9W1a1emTJlCTEzMqdPg06dP58Ybb8yz1smTJzN9+nS6devGtGnTzjrzkp+Cai3qz6+cm8I6D999BwMGwMGD8PIrLkbcC0FBAYzt3YLqF4VRv2pFb5coF4CkpCRiY2OpUKFCrmXBwcG5OvGUhO7du5OSksKkSZPYv38/TZo0YcqUKdSuXRtw/5LdunVrkbYBSE1N5YUXXmDv3r1UqVKFa665hpEjRxIcHHxqnb179/Lggw9y5MgRIiIiaNWqFXPnzs31PvkpzDFKS0sjJCQk1z5PV9DrxVGYY5PXMT148CCPPPIIBw4coFKlShhjmDp1KldeeSVQuGP1+OOPEx4ezpgxYzh48CDR0dH07duXESNG5Flrr169uPPOO8/qtV+QgmotzZ/fC0GAy+Xydg25GGPqAVsXL15MTExMqe47Oxueecb91bgxvPF2JlM3rCGhUVXuvapRqdYiIiVj7dq1zJw5M98eyAW9LlIakpOT6dKlC0B9a+22M1/XfdY5kpOhw1VOxoyBfrc4mPLxYUYt/pGV21KI1ulskTJr8+bNNGnS5NTzwYMH5xpB7czXRXyRToMDn34KAwY6STvupPaN6/kldhcr3nERG1WRGUPa0qzWRd4uUUSKafPmzVx22WUAuFwuduzYQeXKlfN8XcRXXdBhnZkJjz3m7vEdWj2Nmn1XUy7yGNlOCAyAGUPaEBul69MiZdno0aNPPf7jjz+45pprck3RePrrIr7qgg3r335z3zu9ejXcMiSTNTV+It35v8HsKwQHceR4FrFRXixSREpUw4YNefzxx71dhkiRXZDXrN99F1q3dk9t+fHHLq4anJwrqAGyXS6NOiYiIj7hggrrY8dg6FD3bVmtWsHyldl8n7mOsYs20bRGJULLBVAptBxhwYEadUxERHzGBXMaPDER+vUDa2H0aBhwTyoj3lvNlgNpPHR1E0Z0akTK8RMadUxERHyO34e1y+WeynLkSIiIgK+/dk/EMWv5YQ4fO8E7Q9txRWP37DgadUxERHyRX4d1SgoMGwbz5rmnspz6poNDjlSgCgPa1aVHi5pEVDx72jcRERFf4rfXrH/6CeLjYcEC+Ne/4I1Zx7n3o58YMG0Fh4+dICAgQEEtSHzkqgAACLpJREFUIiJlgt+FtdMJzz8PV14JgYGwdCnE99jHDa8tYevBY/y7b0siFdIiIlKG+FVY79vnPt39+OPQuzesXu3i28ObuOPtlcRElGfhfVdw7SU1vF2miIhIkfjNNeuvvoKBA+HoUZgyBe68EwICAjiansUtbevy1A3NCAsOKviNREREfEyZD+usLPjHP2D8eLj4Yndv79Tyh/h1TzkuqVWZZ3o1JygwwNtlioiIFFuZPg2+bRt06OC+Rn3nnbDiZxffH9jCgGnLmfile+JzBbWIiJR1ZbZlPW+eO6CdTnjvPbj2hhPcP3cd32zazw0tazGudwtvlygiIlIiylxYp6fDQw/BpEnQpo07qIOrHKfHK8vZn5rBmF6XMLB9LAEBalGLiIh/8EpYG2O6AS8DQcA0a+3zhdkuKck9U1ZiIjz8MDz3HISEQJYjjEvrRTA0oT4t61TxaO0iIiKlrdSvWRtjgoD/ANcBzYBbjDHNzrWNywXTp8Oll8Lu3fD55/DUs9k8t2gDh9IyCQ4K5OX+8fkG9aG0TNbtPMKhtMwS/zwiIiKe5o2WdVtgi7X2DwBjzHtAL+DXvFZOTYXhw93TWnbqBLNmQVpQKj1fW8W2g8doUz+S6+Nq5buzBWt38ei8RIIDA8lyOpnQJ46erWp74nOJiIh4hDd6g9cGdp72PDln2VlWrXLPO/3ee/DMM+57qZfvTabXa0v5Mz2b2Xe2P2dQH0rL5NF5iWRkOUnNzCYjy8moeYlqYYuISJnis7duvfUWXHYZZGTAd9+5p7V89+dtPDh3HXExlfn8/iu4rGHUOd8jOSWd4MDcHzE4MJDklHQPVi4iIlKyvHEafBdQ57TnMTnLcnnmGeje3R3aUTmZ3COuFkfTsxjesSHlggr+OyMmojxZTmeuZVlOJzER5c+jfBERkdLljZb1L0BjY0x9Y0wI0B/45MyVnnoK5s+HVXv3cseMX8hyOImsGMJfOzcuVFCDe37qCX3iCAsOpFJoOcKCA5nQJ05zVouISJlS6i1ra222MeavwJe4b916y1q78cz1bhvkYtyiJKb88ActalfmaHoWVYsRsj1b1SahUVWSU9KJiSivoBYRkTLHK/dZW2s/Bz4/1zoPzFnDupQgBraPZfT1FxNarviTcESFhyqkRUSkzPLZEcw270/l5YFX0Uu3WYmIyAXOZ8N62qBLSWipoBYREfHZW7dioyp6uwQRERGf4LNhLSIiIm4KaxERER+nsBYREfFxCmsREREfp7AWERHxcQprERERH+eL91kHAezdu9fbdYiIiJSK0zIvz+E6fTGsawIMGDDA23WIiIiUtprA72cu9MWw/gW4EtgDOLxci4iISGkIwh3Uv+T1YoDL5SrdckRERKRI1MFMRETEx/niafDzZozpBryM+7TCNGvt814uySOMMXWAmUB1wAVMsda+7N2qPMcYEwSsBHZZa6/3dj2eYoypAkwDmuP+vg611v7k3apKnjHmcWAg4ATWA0OstRnerer8GWPeAq4H9ltrm+csiwTeB+oB24C+1toUb9VYUvL5rP8CbgBO4L72OsRae8R7VZ6/vD7naa89BEwEoq21Bz1Vg9+1rHN+of8HuA5oBtxijGnm3ao8Jht4yFrbDGgPjPDjzwrwAJDk7SJKwcvAF9bapkBL/PAzG2PqAXcBf8n55RcE9PdqUSVnBtDtjGWPAYuttY2BxTnP/cEMzv6sXwHNrbVxwGbg8dIuygNmcPbnPNlgugbY4ekC/C6sgbbAFmvtH9baE8B7QC8v1+QR1to91trVOY9Tcf9S98t5RY0xMUAP3C1Ov2WMqQx0AN4EsNaeKOutknz8CWQB5Y0x5YAKwG7vllQyrLU/AIfPWNwLeDvn8dvAjaValIfk9Vmttf+11mbnPF0OxJR6YSUsn+8pwIvAKNxnwDzKH8O6NrDztOfJ+GmAnS6npRIPrPByKZ7yEu7/FE5vF+Jh9YEDwHRjzBpjzDRjjN/NF2utPYz71OEO3Hd+HLXW/te7VXlUdWvtnpzHe3FfuroQDAUWebsITzDG9MJ9SW5daezPH8P6gmOMCQfmAX+z1v7p7XpKmjHm5LWiVd6upRSUA1oDk6y18cAx/OeU6SnGmIbASNx/nNQCKhpjbvNuVaXDWuuiFFpi3maMeRL3pbrZ3q6lpBljKgBPAP8orX36Y1jvAuqc9jwmZ5lfMsYE4w7q2dbaj7xdj4ckAD2NMdtwX9bobIyZ5dWKPCcZSLbWnjxD8iHu8PY3lwLLrLUHrLVZwEfA5V6uyZP2GWNqAuT8u9/L9XiUMeZ23B2yBuT8ceJvGuL+Q3Ndzu+lGGC1MaaGp3boj73BfwEaG2Pq4w7p/sCt3i3JM4wxAbivbSZZa1/wdj2eYq19nJxOKsaYq4CHrbV+2Qqz1u41xuw0xhhrrQW6AL96uy4PsMA/cloo6bg/50rvluRRnwCDgedz/l3g3XI8J+dunFFAR2vtcW/X4wnW2vVAtZPPcwL7UvUGL4Kcjg1/Bb7E3eFqrrV2o3er8pgE3Le+dDbGrM356u7touS83QfMNsYkAq2AsV6up8RZa9fivu1wJe7btgKBKV4tqoQYY+YAP7kfmmRjzB24Q/pqY8xvQNec52VePp/1NaAS8FXO76TJXi2yBOTzOUuVRjATERHxcX7XshYREfE3CmsREREfp7AWERHxcQprERERH6ewFhER8XEKaxERER+nsBYREfFx/jiCmYgUkTGmDe7R8Nrinq7yZ6CftXaDVwsTEUCDoohIDmPMs0AYUB73+OTjvFySiORQy1pEThqDe2z9DOB+L9ciIqfRNWsROSkKCMc9rnOYl2sRkdMorEXkpDeAv+Oef3i8l2sRkdMorEUEY8wgIMta+y7uGaHaGGM6e7ksEcmhDmYiIiI+Ti1rERERH6ewFhER8XEKaxERER+nsBYREfFxCmsREREfp7AWERHxcQprERERH6ewFhER8XH/D6uWSMTJkB7cAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Mod Leverage point(14, 68)\n",
    "leverage_point = np.array([14, 68])\n",
    "influence_df.loc[n] = leverage_point\n",
    "influence_df[-3:]\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8,6))\n",
    "influence_df.plot.scatter('x', 'y', ax=ax)\n",
    "ax.set_title(\"ScatterPlot of y vs x\")\n",
    "\n",
    "fitted_result_included_leverage = smf.ols(formula=\"y ~ x\", data=influence_df[0:n+1]).fit()\n",
    "fitted_result_excluded_leverage = smf.ols(formula=\"y ~ x\", data=influence_df[0:n]).fit()\n",
    "\n",
    "# 杠杆矩的对角线: 杠杆率数组\n",
    "leverages = fitted_result_included_leverage.get_influence().hat_matrix_diag\n",
    "\n",
    "intercept, coef_x = fitted_result_included_leverage.params\n",
    "\n",
    "sm.graphics.abline_plot(\n",
    "    model_results=fitted_result_included_leverage, ax=ax, color='b',\n",
    "    label='$y = %.2f + %.2fx$' % (intercept, coef_x));\n",
    "\n",
    "intercept, coef_x = fitted_result_excluded_leverage.params\n",
    "\n",
    "sm.graphics.abline_plot(\n",
    "    model_results=fitted_result_excluded_leverage,\n",
    "    ax=ax, linestyle='dashed',\n",
    "    label='$y = %.2f + %.2fx$' % (intercept, coef_x));\n",
    "\n",
    "ax.annotate(\n",
    "    s='this is a leverages point',\n",
    "    xy=(14, 68),\n",
    "    xytext=(10, 40),\n",
    "    arrowprops = { 'arrowstyle': 'fancy' })\n",
    "\n",
    "ax.text(x=6, y=5, fontsize=14,\n",
    "        s='$\\\\bar{h}=%.3f\\\\;\\\\;h_{i,i} = %.3f > 3\\\\bar{h}$' % (leverages.mean(), leverages[-1]))\n",
    "ax.scatter([14], [68], c='b', linewidths=3, marker='o')\n",
    "ax.legend()\n",
    "print(\"leverages.sum() = %.1f (自由度)\" % leverages.sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                            OLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                      y   R-squared:                       0.977\n",
      "Model:                            OLS   Adj. R-squared:                  0.976\n",
      "Method:                 Least Squares   F-statistic:                     821.4\n",
      "Date:                Tue, 25 Dec 2018   Prob (F-statistic):           4.23e-17\n",
      "Time:                        14:40:54   Log-Likelihood:                -49.676\n",
      "No. Observations:                  21   AIC:                             103.4\n",
      "Df Residuals:                      19   BIC:                             105.4\n",
      "Df Model:                           1                                         \n",
      "Covariance Type:            nonrobust                                         \n",
      "==============================================================================\n",
      "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "Intercept      2.4679      1.076      2.294      0.033       0.216       4.719\n",
      "x              4.9272      0.172     28.661      0.000       4.567       5.287\n",
      "==============================================================================\n",
      "Omnibus:                        1.266   Durbin-Watson:                   1.807\n",
      "Prob(Omnibus):                  0.531   Jarque-Bera (JB):                1.018\n",
      "Skew:                           0.310   Prob(JB):                        0.601\n",
      "Kurtosis:                       2.117   Cond. No.                         11.6\n",
      "==============================================================================\n",
      "\n",
      "Warnings:\n",
      "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
      "\n",
      "\n",
      "\n",
      "                            OLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                      y   R-squared:                       0.973\n",
      "Model:                            OLS   Adj. R-squared:                  0.972\n",
      "Method:                 Least Squares   F-statistic:                     652.8\n",
      "Date:                Tue, 25 Dec 2018   Prob (F-statistic):           1.35e-15\n",
      "Time:                        14:40:54   Log-Likelihood:                -46.374\n",
      "No. Observations:                  20   AIC:                             96.75\n",
      "Df Residuals:                      18   BIC:                             98.74\n",
      "Df Model:                           1                                         \n",
      "Covariance Type:            nonrobust                                         \n",
      "==============================================================================\n",
      "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "Intercept      1.7322      1.121      1.546      0.140      -0.622       4.086\n",
      "x              5.1169      0.200     25.551      0.000       4.696       5.538\n",
      "==============================================================================\n",
      "Omnibus:                        0.394   Durbin-Watson:                   2.066\n",
      "Prob(Omnibus):                  0.821   Jarque-Bera (JB):                0.287\n",
      "Skew:                           0.259   Prob(JB):                        0.866\n",
      "Kurtosis:                       2.723   Cond. No.                         11.1\n",
      "==============================================================================\n",
      "\n",
      "Warnings:\n",
      "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n"
     ]
    }
   ],
   "source": [
    "print(fitted_result_included_leverage.summary())\n",
    "print(\"\\n\\n\")\n",
    "print(fitted_result_excluded_leverage.summary())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过回归图和统计检验数据, 判断该Leverage Point也不是Influence Point."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Outlier and Leverage"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Mod Leverage point(13, 15)\n",
    "outlier_leverage_point = np.array([13, 15])\n",
    "influence_df.loc[n] = outlier_leverage_point \n",
    "influence_df[-3:]\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "influence_df.plot.scatter('x', 'y', ax=ax)\n",
    "ax.set_title(\"ScatterPlot of y vs x\")\n",
    "\n",
    "fitted_result_included_outlier_leverage = smf.ols(formula=\"y ~ x\", data=influence_df[0:n+1]).fit()\n",
    "fitted_result_excluded_outlier_leverage = smf.ols(formula=\"y ~ x\", data=influence_df[0:n]).fit()\n",
    "\n",
    "intercept, coef_x = fitted_result_included_outlier_leverage.params\n",
    "\n",
    "sm.graphics.abline_plot(\n",
    "    model_results=fitted_result_included_outlier_leverage,\n",
    "    ax=ax, color='b',\n",
    "    label='$y = %.2f + %.2fx$' % (intercept, coef_x))\n",
    "\n",
    "intercept, coef_x = fitted_result_excluded_outlier_leverage.params\n",
    "\n",
    "sm.graphics.abline_plot(\n",
    "    model_results=fitted_result_excluded_outlier_leverage,\n",
    "    ax=ax, linestyle='dashed',\n",
    "    label='$y = %.2f + %.2fx$' % (intercept, coef_x))\n",
    "\n",
    "ax.scatter([13], [15], c='r', linewidths=3, marker='o')\n",
    "ax.legend();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                            OLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                      y   R-squared:                       0.552\n",
      "Model:                            OLS   Adj. R-squared:                  0.528\n",
      "Method:                 Least Squares   F-statistic:                     23.41\n",
      "Date:                Tue, 25 Dec 2018   Prob (F-statistic):           0.000114\n",
      "Time:                        14:40:55   Log-Likelihood:                -78.017\n",
      "No. Observations:                  21   AIC:                             160.0\n",
      "Df Residuals:                      19   BIC:                             162.1\n",
      "Df Model:                           1                                         \n",
      "Covariance Type:            nonrobust                                         \n",
      "==============================================================================\n",
      "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "Intercept      8.5046      4.222      2.014      0.058      -0.333      17.342\n",
      "x              3.3198      0.686      4.838      0.000       1.884       4.756\n",
      "==============================================================================\n",
      "Omnibus:                       27.066   Durbin-Watson:                   1.042\n",
      "Prob(Omnibus):                  0.000   Jarque-Bera (JB):               49.826\n",
      "Skew:                          -2.197   Prob(JB):                     1.52e-11\n",
      "Kurtosis:                       9.136   Cond. No.                         11.6\n",
      "==============================================================================\n",
      "\n",
      "Warnings:\n",
      "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
      "\n",
      "\n",
      "\n",
      "                            OLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                      y   R-squared:                       0.973\n",
      "Model:                            OLS   Adj. R-squared:                  0.972\n",
      "Method:                 Least Squares   F-statistic:                     652.8\n",
      "Date:                Tue, 25 Dec 2018   Prob (F-statistic):           1.35e-15\n",
      "Time:                        14:40:55   Log-Likelihood:                -46.374\n",
      "No. Observations:                  20   AIC:                             96.75\n",
      "Df Residuals:                      18   BIC:                             98.74\n",
      "Df Model:                           1                                         \n",
      "Covariance Type:            nonrobust                                         \n",
      "==============================================================================\n",
      "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "Intercept      1.7322      1.121      1.546      0.140      -0.622       4.086\n",
      "x              5.1169      0.200     25.551      0.000       4.696       5.538\n",
      "==============================================================================\n",
      "Omnibus:                        0.394   Durbin-Watson:                   2.066\n",
      "Prob(Omnibus):                  0.821   Jarque-Bera (JB):                0.287\n",
      "Skew:                           0.259   Prob(JB):                        0.866\n",
      "Kurtosis:                       2.723   Cond. No.                         11.1\n",
      "==============================================================================\n",
      "\n",
      "Warnings:\n",
      "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n"
     ]
    }
   ],
   "source": [
    "print(fitted_result_included_outlier_leverage.summary())\n",
    "print(\"\\n\\n\")\n",
    "print(fitted_result_excluded_outlier_leverage.summary())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这个观测值对回归分析影响很大是Influence Point, 可以剔除."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.4.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
